#include <iostream>

class Char_vec
{
    int sz;
    char element[1];
public:
    static Char_vec* new_char_vec(int s){
        char* buffer = (char*)::operator new(sizeof(Char_vec)+s-1);
        Char_vec* vec = new(buffer)Char_vec;
        vec->sz = s;
        return vec;
    }
    char& operator[](int i){
        return element[i];
    }
};

int main()
{
    Char_vec* vec = Char_vec::new_char_vec(100);
    (*vec)[99] = 'B';
    std::cout << (*vec)[99] << std::endl;
    return 1;
}


            
            
